//引入发送请求的函数
import request from "../../utils/request"

// pages/index/index.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    //定义轮播图数据
    bannerList:[
      {
        id:1,
        url: "../../static/images/banner/17.jpg"
      },
      {
        id:2,
        url: "../../static/images/banner/18.jpg"
      },
      {
        id:3,
        url: "../../static/images/banner/20.jpg"
      },
      {
        id:4,
        url: "../../static/images/banner/21.jpg"
      },
      {
        id:5,
        url: "../../static/images/banner/22.jpg"
      }
    ],
    //定义推荐歌曲数据
    recommendedList: [],
    //定义排行榜数据
    topList: []
  },

  /**
   * 生命周期函数--监听页面加载
   */
  //初始化请求需要的数据
  onLoad(options) {
    this.getBannerList()
    this.getrecommendedList()
    this.gettopList()
  },

  //1.请求轮播图数据
  async getBannerList(){
    //拿到响应的数据保存到data
    const result = await request("/banner" , {type:1} , "GET")
    //setData替换数据
    this.setData({
      bannerList : result.banners
    })
  },

  //2.请求推荐歌曲的数据
  async getrecommendedList(){
    //请求推荐歌曲数据并保存到data
    const result = await request("/personalized" , {limit: 10} , "GET")
    //setData替换数据
    this.setData({
      recommendedList : result.result
    })
  },

  //3.请求排行榜数据
  async gettopList(){
    //定义数组收集请求回来并且处理后的数据
    const list = []
    //连续发送多次请求,请求多个榜单数据
    let index = 0
    while (index < 5) {
      const result = await request("/top/list" , {idx : index++} , "GET")
      //保存每一次请求后需要的数据
      const itemList = {
        name: result.playlist.name,
        list: result.playlist.tracks.splice(0 , 3)
      }
      //每次请得到数据后插入到排行榜数组中
      list.push(itemList)
    }
    //请求结束，排行榜数组已经保存需要的数据,替换data中的列表
    this.setData({
      topList: list
    })
  },

  //4.跳转到每日推荐页面
  gotoRecommend(){
    wx.navigateTo({
      url: '/pages/recommend/recommend',
    })
  },
  



  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})